using System.Collections.Generic;
using OracleInternal.SqlAndPlsqlParser.LocalParsing;

namespace OracleInternal.SqlAndPlsqlParser.RuleProcessors.ODPCommands
{
	internal static class OracleMbEarleyConditionRuleMultiProcessors
	{
		public static OracleMbEarleyRuleMultiProcessorAddItem[] s_vRuleProcessorItems;

		static OracleMbEarleyConditionRuleMultiProcessors()
		{
			OracleMbEarleyRuleMultiProcessorAddItem[] array = new OracleMbEarleyRuleMultiProcessorAddItem[33];
			OracleMbEarleyRuleMultiProcessorAddItem oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "condition",
				m_vRHSSymbols = new string[1]
				{
					"comparison_condition"
				},
				m_vRuleProcessor = Process_Condition_ComparisonCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[0] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "condition",
				m_vRHSSymbols = new string[1]
				{
					"compound_condition"
				},
				m_vRuleProcessor = Process_Condition_CompoundCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[1] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "condition",
				m_vRHSSymbols = new string[1]
				{
					"exists_condition"
				},
				m_vRuleProcessor = Process_Condition_ExistsCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[2] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "condition",
				m_vRHSSymbols = new string[1]
				{
					"floating_point_condition"
				},
				m_vRuleProcessor = Process_Condition_FloatingPointCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[3] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "condition",
				m_vRHSSymbols = new string[1]
				{
					"in_condition"
				},
				m_vRuleProcessor = Process_Condition_InCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[4] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "condition",
				m_vRHSSymbols = new string[1]
				{
					"is_of_type_condition"
				},
				m_vRuleProcessor = Process_Condition_IsOfTypeCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[5] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "condition",
				m_vRHSSymbols = new string[1]
				{
					"like_condition"
				},
				m_vRuleProcessor = Process_Condition_LikeCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[6] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "condition",
				m_vRHSSymbols = new string[1]
				{
					"logical_condition"
				},
				m_vRuleProcessor = Process_Condition_LogicalCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[7] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "condition",
				m_vRHSSymbols = new string[1]
				{
					"model_condition"
				},
				m_vRuleProcessor = Process_Condition_ModelCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[8] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "condition",
				m_vRHSSymbols = new string[1]
				{
					"multiset_condition"
				},
				m_vRuleProcessor = Process_Condition_MultisetCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[9] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "condition",
				m_vRHSSymbols = new string[1]
				{
					"null_condition"
				},
				m_vRuleProcessor = Process_Condition_NullCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[10] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "condition",
				m_vRHSSymbols = new string[1]
				{
					"range_condition"
				},
				m_vRuleProcessor = Process_Condition_RangeCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[11] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "condition",
				m_vRHSSymbols = new string[1]
				{
					"xmlexists"
				},
				m_vRuleProcessor = Process_Condition_Xmlexists_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[12] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "comparison_condition",
				m_vRHSSymbols = new string[1]
				{
					"between_condition"
				},
				m_vRuleProcessor = Process_ComparisonCondition_BetweenCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[13] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "comparison_condition",
				m_vRHSSymbols = new string[1]
				{
					"group_comparison_condition"
				},
				m_vRuleProcessor = Process_ComparisonCondition_GroupComparisonCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[14] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "comparison_condition",
				m_vRHSSymbols = new string[1]
				{
					"simple_comparison_condition"
				},
				m_vRuleProcessor = Process_ComparisonCondition_SimpleComparisonCondition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[15] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "simple_comparison_condition",
				m_vRHSSymbols = new string[3]
				{
					"expr",
					"simple_comparison_condition",
					"expr"
				},
				m_vRuleProcessor = Process_SimpleComparisonCondition_Expr_SimpleComparisonCondition_Expr_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[16] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "simple_comparison_condition",
				m_vRHSSymbols = new string[5]
				{
					"'('",
					"\"expr_list\"",
					"')'",
					"cmp_op",
					"scalar_subquery_expression"
				},
				m_vRuleProcessor = Process_SimpleComparisonCondition_LEFT_PARENTHESIS_ExprList_RIGHT_PARENTHESIS_CmpOp_ScalarSubqueryExpression_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[17] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "simple_comparison_condition",
				m_vRHSSymbols = new string[1]
				{
					"'<'"
				},
				m_vRuleProcessor = Process_SimpleComparisonCondition_LESSTHAN_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[18] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "simple_comparison_condition",
				m_vRHSSymbols = new string[1]
				{
					"'>'"
				},
				m_vRuleProcessor = Process_SimpleComparisonCondition_GREATERTHAN_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[19] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "simple_comparison_condition",
				m_vRHSSymbols = new string[1]
				{
					"cmp_op"
				},
				m_vRuleProcessor = Process_SimpleComparisonCondition_CmpOp_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[20] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "simple_comparison_condition",
				m_vRHSSymbols = new string[2]
				{
					"'<'",
					"'='"
				},
				m_vRuleProcessor = Process_SimpleComparisonCondition_LESSTHAN_EQUAL_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[21] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "simple_comparison_condition",
				m_vRHSSymbols = new string[2]
				{
					"'>'",
					"'='"
				},
				m_vRuleProcessor = Process_SimpleComparisonCondition_GREATERTHAN_EQUAL_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[22] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "cmp_op",
				m_vRHSSymbols = new string[1]
				{
					"'='"
				},
				m_vRuleProcessor = Process_CmpOp_EQUAL_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[23] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "cmp_op",
				m_vRHSSymbols = new string[1]
				{
					"not_eq"
				},
				m_vRuleProcessor = Process_CmpOp_NotEq_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[24] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "cmp_op",
				m_vRHSSymbols = new string[2]
				{
					"'!'",
					"'='"
				},
				m_vRuleProcessor = Process_CmpOp_NOTEQUAL_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[25] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "cmp_op",
				m_vRHSSymbols = new string[2]
				{
					"'^'",
					"'='"
				},
				m_vRuleProcessor = Process_CmpOp_EXP_EQUAL_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[26] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "not_eq",
				m_vRHSSymbols = new string[2]
				{
					"'<'",
					"'>'"
				},
				m_vRuleProcessor = Process_NotEq_LESSTHAN_GREATERTHAN_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[27] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "compound_condition",
				m_vRHSSymbols = new string[2]
				{
					"'NOT'",
					"condition"
				},
				m_vRuleProcessor = Process_CompoundCondition_NOT_Condition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[28] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "compound_condition",
				m_vRHSSymbols = new string[3]
				{
					"'('",
					"condition",
					"')'"
				},
				m_vRuleProcessor = Process_CompoundCondition_LEFT_PARENTHESIS_Condition_RIGHT_PARENTHESIS_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[29] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "compound_condition",
				m_vRHSSymbols = new string[3]
				{
					"condition",
					"AND_OR",
					"condition"
				},
				m_vRuleProcessor = Process_CompoundCondition_Condition_ANDOR_Condition_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[30] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "AND_OR",
				m_vRHSSymbols = new string[1]
				{
					"'AND'"
				},
				m_vRuleProcessor = Process_ANDOR_AND_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[31] = oracleMbEarleyRuleMultiProcessorAddItem;
			oracleMbEarleyRuleMultiProcessorAddItem = new OracleMbEarleyRuleMultiProcessorAddItem
			{
				m_vHeadSymbol = "AND_OR",
				m_vRHSSymbols = new string[1]
				{
					"'OR'"
				},
				m_vRuleProcessor = Process_ANDOR_OR_Rule,
				m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.SpecificRule
			};
			array[32] = oracleMbEarleyRuleMultiProcessorAddItem;
			s_vRuleProcessorItems = array;
		}

		public static object Process_Condition_ComparisonCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return OracleMbEarleyRuleMultiProcessor.ProcessNodeRules(ctx.CurrentParseNode, ctx.CurrentRuleIndex + 1, -1, ctx);
		}

		public static object Process_Condition_CompoundCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return OracleMbEarleyRuleMultiProcessor.ProcessNodeRules(ctx.CurrentParseNode, ctx.CurrentRuleIndex + 1, -1, ctx);
		}

		public static object Process_Condition_ExistsCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_Condition_FloatingPointCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_Condition_InCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_Condition_IsOfTypeCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_Condition_LikeCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_Condition_LogicalCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_Condition_ModelCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_Condition_MultisetCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_Condition_NullCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_Condition_RangeCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_Condition_Xmlexists_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_ComparisonCondition_BetweenCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_ComparisonCondition_GroupComparisonCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_ComparisonCondition_SimpleComparisonCondition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return OracleMbEarleyRuleMultiProcessor.ProcessNodeRules(ctx.CurrentParseNode, ctx.CurrentRuleIndex + 1, -1, ctx);
		}

		public static object Process_SimpleComparisonCondition_Expr_SimpleComparisonCondition_Expr_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			OracleLpCondition ao = (OracleLpCondition)ctx.GetActiveObject(9);
			OracleLpSimpleComparisionCondition oracleLpSimpleComparisionCondition = new OracleLpSimpleComparisionCondition(ctx.GetStatementBetweenGivenSrcAndTgtTokenIdx(ctx.CurrentParseNode.From, ctx.CurrentParseNode.To - 1));
			ctx.SetActiveObject(9, oracleLpSimpleComparisionCondition);
			List<ParseNode> list = ctx.CurrentParseNode.Children();
			oracleLpSimpleComparisionCondition.LeftOperand = new OracleLpCondition(ctx.GetStatementBetweenGivenSrcAndTgtTokenIdx(list[0].From, list[0].To - 1))
			{
				ConditionType = OracleLpConditionType.ConditionString
			};
			OracleMbEarleyRuleMultiProcessor.ProcessNodeRules(list[1], 0, -1, ctx);
			oracleLpSimpleComparisionCondition.RightOperand = new OracleLpCondition(ctx.GetStatementBetweenGivenSrcAndTgtTokenIdx(list[2].From, list[2].To - 1))
			{
				ConditionType = OracleLpConditionType.ConditionString
			};
			ctx.SetActiveObject(9, ao);
			return oracleLpSimpleComparisionCondition;
		}

		public static object Process_SimpleComparisonCondition_LEFT_PARENTHESIS_ExprList_RIGHT_PARENTHESIS_CmpOp_ScalarSubqueryExpression_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_SimpleComparisonCondition_LESSTHAN_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			((OracleLpCondition)ctx.GetActiveObject(9)).Operation = OracleLpConditionOperation.LESSTHAN;
			return OracleLpConditionOperation.LESSTHAN;
		}

		public static object Process_SimpleComparisonCondition_GREATERTHAN_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			((OracleLpCondition)ctx.GetActiveObject(9)).Operation = OracleLpConditionOperation.GREATERTHAN;
			return OracleLpConditionOperation.GREATERTHAN;
		}

		public static object Process_SimpleComparisonCondition_CmpOp_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return OracleMbEarleyRuleMultiProcessor.ProcessNodeRules(ctx.CurrentParseNode, ctx.CurrentRuleIndex + 1, -1, ctx);
		}

		public static object Process_SimpleComparisonCondition_LESSTHAN_EQUAL_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			((OracleLpCondition)ctx.GetActiveObject(9)).Operation = OracleLpConditionOperation.LESSTHANEQUAL;
			return OracleLpConditionOperation.LESSTHANEQUAL;
		}

		public static object Process_SimpleComparisonCondition_GREATERTHAN_EQUAL_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			((OracleLpCondition)ctx.GetActiveObject(9)).Operation = OracleLpConditionOperation.GREATERTHANEQUAL;
			return OracleLpConditionOperation.GREATERTHANEQUAL;
		}

		public static object Process_CmpOp_EQUAL_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			((OracleLpCondition)ctx.GetActiveObject(9)).Operation = OracleLpConditionOperation.EQUAL;
			return OracleLpConditionOperation.EQUAL;
		}

		public static object Process_CmpOp_NotEq_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return OracleMbEarleyRuleMultiProcessor.ProcessNodeRules(ctx.CurrentParseNode, ctx.CurrentRuleIndex + 1, -1, ctx);
		}

		public static object Process_CmpOp_NOTEQUAL_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_CmpOp_EXP_EQUAL_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_NotEq_LESSTHAN_GREATERTHAN_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_CompoundCondition_NOT_Condition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			return null;
		}

		public static object Process_CompoundCondition_LEFT_PARENTHESIS_Condition_RIGHT_PARENTHESIS_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			OracleLpCondition ao = (OracleLpCondition)ctx.GetActiveObject(9);
			OracleLpCompoundCondition oracleLpCompoundCondition = new OracleLpCompoundCondition(ctx.GetStatementBetweenGivenSrcAndTgtTokenIdx(ctx.CurrentParseNode.From, ctx.CurrentParseNode.To - 1));
			ctx.SetActiveObject(9, oracleLpCompoundCondition);
			List<ParseNode> list = ctx.CurrentParseNode.Children();
			oracleLpCompoundCondition.LeftOperand = OracleMbEarleyRuleMultiProcessor.ProcessNodeRules(list[1], 0, -1, ctx) as OracleLpCondition;
			oracleLpCompoundCondition.RightOperand = null;
			ctx.SetActiveObject(9, ao);
			return oracleLpCompoundCondition;
		}

		public static object Process_CompoundCondition_Condition_ANDOR_Condition_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			OracleLpCondition ao = (OracleLpCondition)ctx.GetActiveObject(9);
			OracleLpCompoundCondition oracleLpCompoundCondition = new OracleLpCompoundCondition(ctx.GetStatementBetweenGivenSrcAndTgtTokenIdx(ctx.CurrentParseNode.From, ctx.CurrentParseNode.To - 1));
			ctx.SetActiveObject(9, oracleLpCompoundCondition);
			List<ParseNode> list = ctx.CurrentParseNode.Children();
			oracleLpCompoundCondition.LeftOperand = OracleMbEarleyRuleMultiProcessor.ProcessNodeRules(list[0], 0, -1, ctx) as OracleLpCondition;
			OracleMbEarleyRuleMultiProcessor.ProcessNodeRules(list[1], 0, -1, ctx);
			oracleLpCompoundCondition.RightOperand = OracleMbEarleyRuleMultiProcessor.ProcessNodeRules(list[2], 0, -1, ctx) as OracleLpCondition;
			ctx.SetActiveObject(9, ao);
			return oracleLpCompoundCondition;
		}

		public static object Process_ANDOR_AND_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			((OracleLpCondition)ctx.GetActiveObject(9)).Operation = OracleLpConditionOperation.AND;
			return OracleLpConditionOperation.AND;
		}

		public static object Process_ANDOR_OR_Rule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			((OracleLpCondition)ctx.GetActiveObject(9)).Operation = OracleLpConditionOperation.OR;
			return OracleLpConditionOperation.OR;
		}
	}
}
